<?php
/**
 * @title 421. 数组中两个数的最大异或值 - 2次循环
 * @author start2004
 */

// ini_set("memory_limit", "128M");

class Solution {

    /**
     * @param Integer[] $nums
     * @return Integer
     */
    function findMaximumXOR($nums) {
        /**
         * @since 2020-08-19 异或最大值
         */
        $max = 0;

        /**
         * @since 2020-08-19 2次循环
         */
        for($i=0, $len=count($nums); $i<$len; $i++){
             for ($j=$i+1; $j<$len; $j++){
                 $max = max($max, $nums[$i]^$nums[$j]);
             }
        }

        /**
         * @return
         */
        return $max;
    }
}



/**
 * @url http://127.0.0.1/leetcode/202008/2020.08.19_4.php
 */
$datas = [
    [3, 10, 5, 25, 2, 8],
];

$data = [];
for($i=1, $iMax=pow(10,3)*3; $i<=$iMax; $i++){
    $data[] = $i;
}
$datas[] = $data;


include_once dirname(__DIR__) . DIRECTORY_SEPARATOR ."xhprof.php";
$xhprof = new Xhprof();
foreach ($datas as $data){
    // var_dump($data);

    $obj = new Solution();
    $result = $obj->findMaximumXOR($data);
    var_dump($result);
    // if(count($result)<=20){
    //     var_dump($result);
    // } else {
    //     var_dump(count($result));
    // }
    echo str_repeat("<br>", 3);
}
$xhprof->end();
